package com.tedu.api.thread;

/**
 * 线程:单线程【main主线程】 多线程   创建两个线程以上同时处理一件事情【并发】
 *      多线程并发
 * 多人聊天室  Version 2   多个人在同一个服务器
 *
 * 多线程案例：Kitchen厨房类---  2厨子==2线程---焯菜
 * Chef   厨子类---每个厨子使用厨房焯不同菜系【并发】
 *
 */
public class Kitchen {
    public static void main(String[] args) {
        //创建线程---直接Lambda表达式【没有并发,只能创建一个】【并发--实现Runnable】
        Thread k=new Thread(new Chef("西红蛋焯鸡史"));
        Thread kk=new Thread(new Chef("小🐓吨毒🍄"));
        Thread kkk=new Thread(new Chef("🔈❀🐓"));
            k.start();//1-3秒
            kk.start();//1--3秒
            kkk.start();//1---3秒

    }
}
//1.创建厨子类：每个厨子能焯不同菜系--线程:Runnable接口【项目:建议结构合理】
class Chef implements Runnable{
   private String kk;//私有属性
    //传入构造器：通过构造器确定，谁焯谁的菜
    public Chef(String kun){
     //私有菜系
     this.kk=kun;
    }
    //3.实现厨子功能；1到3秒随坤焯菜
    public void run() {
        System.out.println("起锅烧油"+kk);
        //准备好了吗孩子们：1-3秒---Random随机数类 -->Math数血类
        /**
         * Math.random();生成随机数，范围0.0~1.0之间浮点数
         * sleep接受的是long类型
         * Math.random()*3000 生成随机数，范围0.0~3000之间浮点数不包括3000.0
         * 转换为0.0---2999的整数   012  123
         * (long)(Math.random()*3000)+1000
         * 范围  1000~3999      随机值 1 2 3
         */
        try {
            Thread.sleep((long)(Math.random()*3000)+1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("搞定,快吃,吃完好上路"+kk+"恭喜你,似了");
    }

}
